Python多线程(四):生产者消费者问题

您所在的位置:网站首页 多个生产者 一个消费者怎么办 Python多线程(四):生产者消费者问题

Python多线程(四):生产者消费者问题

2024-07-14 12:05| 来源: 网络整理| 查看: 265

转载自:https://www.jianshu.com/p/1b3345aac5c1

生产者消费者问题是多线程中一个很经典并发协作的问题,这个问题主要包含两类线程,一个是生产者用于生产数据,另一个是消费者用于消费数据,两者操作同一个数据共享区域,这种模型在编程中非常常见,比如爬虫,生产者负责爬取链接,消费者负责解析链接所指向的网页内容。这种模型需要满足下面的两个特征:

消费者在数据共享区域为空时阻塞,直到共享区域出现新数据。生产者在数据共享区域满时阻塞,直到数据共享区出现空位。 下面是一个简单的例子: import threading import time import random MAX_BUFF_LEN = 5 buff = [] lock = threading.Lock() class Producer(threading.Thread): def run(self): global buff while True: lock.acquire() if len(buff)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3